home *** CD-ROM | disk | FTP | other *** search
- /**
- GRAB Graph Layout and Browser System
-
- Copyright (c) 1989, Tera Computer Company
- **/
-
- extern char * gc_malloc(int) ;
- extern void gc_free(char *) ;
-
- typedef void (*vfp)();
-
- extern vfp __new_handler;
-
- char *
- __builtin_new (long sz)
- {
- char *p;
-
- p = (char *)gc_malloc (sz);
- if (p == 0)
- (*__new_handler) ();
- return p;
- }
-
-
- void
- __builtin_delete (char * ptr)
- {
- #ifdef DO_FREES
- if (ptr)
- gc_free (ptr);
- #endif
- }
-
- void
- __builtin_vec_delete (char * ptr, int maxindex, int size,
- void (*dtor)(),
- int auto_delete_vec, int auto_delete)
- {
- int i, nelts = maxindex + 1;
- char *p = ptr;
-
- ptr += nelts * size;
-
- for (i = 0; i < nelts; i++)
- {
- ptr -= size;
- (*dtor) (ptr, auto_delete);
- }
-
- #ifdef DO_FREES
- if (auto_delete_vec)
- gc_free (p);
- #endif
- }
-
-